Predikcija procesora
Profesor Yale Patt, sa Univerziteta MiΦigen, bio je zvezda ovogodiÜnjeg simpozijuma YU INFO. Iskoristili smo priliku da sa tvorcem mnogih koncepata na kojima se zasnivaju danaÜnji mikroprocesori porazgovaramo ne samo o procesorima koje danas koristimo, veµ i o onima koje µemo koristiti za pet godina.
NauΦna karijera profesora Patt-a poΦela je na Stanford-u, gde je 1963. godine magistrirao, a tri godine kasnije i doktorirao. Posle par godina na Cornell univerzitetu i u istra₧ivaΦkom centru ameriΦke Armije, preÜao je na Berkeley, gde je predavao od 1979. do 1988. Od 1988. je redovni profesor Univerziteta u MiΦigenu, gde predaje arhitekturu raΦunara. Njegove oblasti interesovanja su dizajn i procena performansi savremenih mikroprocesora.
ProÜle godine mu je dodeljena najznaΦajnija nagrada iz oblasti arhitekture raΦunara, Eckert Mauchly Award, nazvana po konstruktorima ENIAC-a. Ovo priznanje, koje zajedniΦki dodeljuju IEEE i ACM nauΦnicima koji se bave hardverom, smatra se ekvivalentom Nobelove nagrade, koja se u oblasti raΦunarstva joÜ ne dodeljuje. Raniji laureati Eckert Mauchly nagrade bili su, izme≡u ostalih, Gordon Bell i Seymour Cray.
Iza ove biografije krije se ne samo liΦnost velikog autoriteta, veµ i Φovek nekonvencionalnog izgleda i radoznalog duha, sagovornik koga je bilo zadovoljstvo Φuti.
Seµate li se poΦetka VaÜe nauΦne karijere i prvog rada?
Objavio sam ga dok sam pripremao doktorat. Tada su tranzistori bili diskretni, a rad se odnosio na moguµnost integracije.
Vizija integrisanih kola?
Nije to bila naroΦito dalekovida vizija - bilo je oΦigledno da µe stvari krenuti tim putem. Ipak, rad je objavljen...
Za ovih 40 godina mnoge VaÜe vizije su se ostvarile. 1984. ste predlagali izvrÜavanje Φetiri instrukcije u istom ciklusu?
Tada su mnogi govorili da je u pitanju nauΦna fantastika, a danas se tako radi u svakom procesoru. èto znaΦi da je vreme da se krene dalje - nedavno sam predlo₧io izvrÜavanje 16 instrukcija u jednom ciklusu. Mnogi ka₧u da je to nemoguµe, ali verujem da bi moglo biti primenjeno do 2002. godine.
Ka₧ete da bi se danaÜnja ideja mogla komercijalno primeniti za samo par godina. Koje su ideje najbr₧e primenjene? Da li je ciklus od ideje do primene sve kraµi?
Naravno, svi primenjuju rezultate istra₧ivanja. Promena redosleda izvrÜavanja instrukcija je jedan od teorijskih koncepata koji je brzo i univerzalno primenjen (osim kod Sun-a), predikciju grananja sada primenjuju Intel, AMD i Digital... Konkurencija je sve oÜtrija, pa je proizvo≡aΦima va₧no da odmah primene koncepte na kojima mi radimo, kako bi maksimalno unapredili performanse. Do vrhunskih performansi µete doµi samo ako problem "napadate" na svakom postojeµem nivou, pa je mikroarhitektura izuzetno va₧na.
Radite li na nekoj od tih implementacija?
Rade pre svega moji studenti. Tse-Yu Yeh je jedan od glavnih dizajnera P7, Michael Shebanow je na Φelu Cyrix-ovog razvoja, zatim Eric Sprangle, Po-Yung Chang...
Koja firma najbr₧e reaguje na nove koncepte i ideje?
Intel, pre svega zato Üto imaju dovoljno ljudi koji µe pratiti razvoj nauke i implementirati ideje u praksi.
ZaÜto su bile potrebne tri ili Φetiri godine da Cyrix i AMD dizajniraju klonove koji mogu da se takmiΦe sa Pentium-om? Da li µe i ubuduµe klonovi vrhunskog Intel-ovog procesora kasniti po par godina?
Svi se sla₧u da je AMD K5 znaΦajno kasnio. Oni se ne bi slo₧ili sa mojim miÜljenjem (a to svakako nije prvi put da se glavni arhitekta tog Φipa i ja ne sla₧emo) da je AMD-ov tim koji je razvijao K5 potcenio problem sa kojim se suoΦio. Dizajnirati 80x86 procesor nije ni malo jednostavno, ma koliko ova porodica bila dugo na tr₧iÜtu. U me≡uvremenu su kupili NexGen i preuzeli novi tim projektanata. Mislim da µe ubuduµe znatno manje zaostajati za Intel-om.
èto se tiΦe Cyrix-a, Φini se da njima nije ambicija da se takmiΦe sa najjaΦim procesorima koje proizvodi Intel. Videµemo Üta µe biti, ali sasvim sam siguran da obe kompanije imaju sposobne ljude. Kada uzmete nekog Φoveka (ili ₧enu) iz Intel-a i odgovarajuµeg iz AMD-a ili Cyrix-a, u pitanju su jednako sposobni struΦnjaci. Me≡utim, takmiΦenje sa Intel-om ne zahteva samo struΦnjake, nego i veliki novac. Intel mo₧e sebi da priuÜti po nekoliko timova koji rade paralelno na nekom problemu, da bi na kraju bilo izabrano najbolje reÜenje, a ostala odbaΦena. Malo koja kompanija bi to mogla da plati.
Ipak, ni Intel-ov put nije uvek prav... priΦa se da µe izbaciti Pentium II, Φiji bi sekundarni keÜ bio odvojen od procesora. ZnaΦi li to da je Pentium Pro, pa i Φitav koncept integrisanog sekundarnog keÜa, bio promaÜaj?
Pentium Pro ne donosi L2 keÜ na istom Φipu - radi se samo o tome da se procesor i sekundarni keÜ nalaze u istom kuµiÜtu. Mo₧da se to pokazuje neracionalnim, ali Pentium Pro je i bez toga doneo izuzetno va₧ne novitete kao Üto je spekulativno izvrÜavanje, predikcija grananja i mnoge druge stvari koje su ranije vi≡ane eventualno kod RISC procesora.
Ljudi su godinama priΦali da µe Intel morati da digne ruke od 80x86 porodice, jer ne mo₧e da napravi 80x86 koji bi se takmiΦio sa RISC procesorima. Pentium Pro je pokazao da to nije taΦno i zato je bio va₧an korak napred, bez obzira na njegovu komercijalnu sudbinu.
U me≡uvremenu, Intel je promovisao MMXprocesore. Da li je to samo dobra marketinÜka ideja ili i neÜto viÜe od toga?
Marketing je samo jedna od niti koje Φine ovu ideju. Osnovna stvar je u tome Üto se napredovalo u minijaturizaciji - tranzistore koji su nekada Φinili Pentium sada mo₧ete da stavite na manji prostor. To znaΦi da vam ostaje prazan prostor na ploΦici, koji treba iskoristiti. Samo poveµanje broja tranzistora na Φipu ne utiΦe linearno na performanse, jer stvari smetaju jedna drugoj.
Mogli biste da dodate logiku koja bi, kroz jaΦu paralelizaciju ili bolju predikciju grananja, poboljÜala performanse; to je ono Φime se ja bavim. No, zaÜto ne biste umesto toga realizovali joÜ nekoliko instrukcija?
ZaÜto su to bile baÜ instrukcije koje µe se primenjivati u oblasti multimedije?
Ljudi misle da je multimedija sexy, pa ima smisla dodati instrukcije koje µe je ubrzati. Uvek je tako - razvoj tehnologije vam omoguµi da uradite joÜ neÜto, a Üta µete izabrati, to je stvar procene tr₧iÜta. Ostaje samo da dobrim marketingom prodate taj proizvod, dakle u MMX-u svakako ima i marketinga.
U poslednje vreme i do nas sti₧u ploΦe na koje se ugra≡uju dva Pentirum-a. Da li to znaΦi da je sve te₧e obezbediti da sledeµa generacija bude dva puta br₧a od prethodne? Da li µe se iµi na viÜeprocesorske sisteme?
Rad viÜe procesora u paraleli nameµe velike izazove pred operativni sistem. Nije lako uΦiniti da dva procesora obezbede duplo bolje performanse - vrhunski softverski in₧enjeri rade na tome, ali svi njihovi uspesi ne znaΦe da nam nisu potrebni i br₧i procesori. Zapravo, iskljuΦiva orijentacija ka paralelnim raΦunarima bila bi rezon kompanije koja nema snage da obezbedi bolji procesor, a Intel, DEC i drugi veliki igraΦi nikako nisu "lenje" kompanije.
I dalje µe nam stizati sve br₧e generacije procesora (da li µe one nuditi baÜ dva puta bolje performanse, to naravno ostaje da se vidi), a onda µemo, ako nam trebaju joÜ bolje performanse, stavljati po dva ili Φetiri takva Φipa... Svaka velika kompanija i dalje µe te₧iti da ima najbr₧i procesor, a ako vam firma ka₧e da vam ne treba br₧i procesor, to samo znaΦi da oni nisu u stanju da ga naprave!
Svakako se seµate baga koji je "proslavio" Pentium. Treba li, uz sav napredak nauke o procesorima koji postaju prava Φuda slo₧enosti, oΦekivati sliΦne probleme u buduµnosti? Hoµe li to umanjiti poverenje korisnika u raΦunare?
Bagovi su uvek postojali, ali je sreµna okolnost Üto firme koje proizvode procesore ne Üalju na tr₧iÜte Φipove znajuµi za neki njihov ozbiljan bag. Pre nego Üto poΦne isporuka procesora, na njemu se isprobava Φitav operativni sistem i tom prilikom se otkloni veµina bagova. To ne znaΦi da kasnije, kod izvrÜavanja neke aplikacije, uz "zgodno" podeÜene podatke, neµe isplivati joÜ neki bagovi, kao kod Pentium-a. ╚esto ispadne da je najva₧nija bila baÜ ona stvar koju, dizajnirajuµi procesor, niste uradili.
Odgovor na pitanje da li µe u buduµnosti biti viÜe bagova le₧i u rukama ljudi koji projektuju CAD alate za dizajniranje procesora. U svom predavanju rekao sam neÜto Üto smatram jako va₧nim: da bi se dobile najbolje performanse, svi moraju da uΦestvuju u procesu razvoja. Tada sam pomenuo projektante procesora, tvorce algoritama, autore kompajlera i mnoge druge, ali sam propustio da pomenem ljude koji osmiÜljavaju alate za dizajniranje procesora. The Design Automation Conference je svake godine jedna od najveµih konferencija u Americi, na kojoj se opisuju najnoviji CAD alati za dizajniranje Φipova.
Ukratko, bagova µe biti sve viÜe, ako svi budemo sedeli i Φekali da se oni pojave. Me≡utim, gledajuµi brzinu kojom CAD alati za dizajniranje procesora napreduju, ne bih rekao da µe stvari krenuti tim putem.
Govorimo o procesorima koje koristimo ili koje µemo koristiti. èta mislite o njihovoj primeni? Veµ godinama imamo sve bolje i bolje procesore, a primenjujemo ih da bismo pisali u Word-u...
Ne koristim Word, ali Φujem da on napreduje - moguµnosti takvih programa da obra≡uju tekst i slike rastu iz godine u godinu.
Svakako, Word je sve moµniji, ali ostaje samo tekst procesor. Ne bih rekao da napreduje spektakularnom brzinom kojom napreduju procesori.
Sla₧em se da raspolo₧ivi mikroprocesori omoguµavaju daleko spektakularniji napredak aplikacija, pa dakle i obrade teksta. To je problem autora aplikacija. Ipak, pojavljuju se nove primene koje zahtevaju veµu snagu, recimo video conferencing, ili neko ko voli da na gornjoj polovini ekrana piÜe poruku, a na donjoj gleda "Prohujalo s vihorom"...
Koliko su nove aplikacije prilago≡ene procesoru?
Ako osoba koja dizajnira algoritam razume platformu na kojoj µe taj algoritam biti implementiran, finalni rezultat µe biti efikasniji. Mnogo zavisi od kompajlera: Intel, recimo, ima potpuno odvojene grupe struΦnjaka koji rade na razvoju kompajlera za P5, P6 i P7 procesore.
Primena procesora mnogo zavisi i od potreba korisnika. Na stolu dr₧im Hewlett-Packard-ovu radnu stanicu, koju koristim uglavnom da bih pisao email. Za to mi nije potreban tako moµan raΦunar, ali HP je insistirao da mi ga pokloni... Onda sam ga umre₧io, pa moji studenti mogu da koriste viÜak procesorske moµi. Ponekad, dok Φitam neku poruku, primetim ikonu koja pokazuje da je zauzetost procesora popriliΦna. Ako ne mo₧ete da iskoristite svu snagu vaÜeg procesora, mo₧da je dobra ideja da neke od nepotrebnih ciklusa poklonite saradnicima.
Sigurno su vas mnogi uΦesnici konferencije YU INFO upitali kojim se oblastima arhitekture procesora danas vredi baviti?
Va₧no je uoΦiti pravi problem. Ljudi na univerzitetima rade na ezoteriΦnim matematiΦkim problemimama koji su inspirativni, ali nemaju praktiΦan znaΦaj. Treba raditi na reÜenju koje µe biti odmah primenjivo, jer samo tako utiΦete na razvoj industrije.
Da li neko ko ₧ivi u Jugoslaviji ima Üanse da uradi tako neÜto? Pre godinu dana sam isto pitanje postavio profesoru Smitu...
I Alan je rekao da ne mo₧ete niÜta znaΦajno uraditi, ako ne radite u Silikonskoj dolini? Zapravo, Alan misli da ni u Ilinoisu ili MiΦigenu ne mo₧e da se uradi niÜta znaΦajno. Tu se ne sla₧emo. èto je Internet bolje razvijen, to je Alan manje u pravu.
Ne morate da budete u Silikonskoj dolini da biste uradili neÜto va₧no, ali morate se potruditi da dobro sagledate celinu. Mladi nauΦnici Φesto uoΦe neÜto Üto bi se moglo optimizovati i onda na to troÜe veliku snagu, da bi se najzad pokazalo da ta optimizacija ne doprinosi konaΦnom rezultatu, jer je "usko grlo" bilo na nekom drugom mestu. UoΦite usko grlo i uklonite ga, pa rezultati neµe izostati.